<template>
  <div class="box" v-show="isQr" @click.stop>
    <div class="box1" @click.stop>
      <div class="Qrbox" @click.stop="">
        <div class="top">
          <p class="text1">登录</p>
          <p class="text2" @click="closeQr">×</p>
        </div>
        <div class="body">
          <img :src="Qrimg" class="bodyimg" v-show="isQrimg" />
        </div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  setup () {},
  data () {
    return {
      isQr: false,
      Qrkey: '',
      Qrimg: '',
      isQrimg: false
    }
  },
  mounted () {
    this.$bus.$on('Qrcodelogin', (res) => {
      this.isQr = true
      // 获取二维码key
      this.getQrcode()
    })
  },
  methods: {
    closeQr () {
      this.isQr = false
      this.$bus.$emit('loginclose')
    },
    //   获取二维码key
    getQrcode () {
      this.maxaxios.get('/login/qr/key').then((res) => {
        // 拿到二维码key
        // console.log(res.data.unikey);
        this.Qrkey = res.data.unikey
        console.log(this.Qrkey)
        this.createQrcode()
      })
    },
    // 二维码生成
    createQrcode () {
      this.maxaxios
        .get('/login/qr/create', { key: this.Qrkey, qrimg: 1 })
        .then((res) => {
          // base64(二维码)
          this.Qrimg = res.data.qrimg
          this.isQrimg = true
          // console.log(res.data.qrimg);
          // 二维码验证
          // var t = setInterval(() => {
          //     this.Qrresult();
          // },1000)

        //   this.loginstate();
        })
    },
    // 验证二维码
    Qrresult () {
      this.maxaxios.post('/login/qr/check', { key: this.Qrkey }).then((res) => {
        console.log(res)
        // if(res.code == 800){
        //     // 二维码过期
        // }else if(res.data.code == 801){
        //     // 801 为等待扫码
        // }else if(res.data.code == 802){
        //     // 802 为待确认
        // }else if(res.data.code == 803){
        //     // 803 为授权登录成功
        // }
      })
    },
    loginstate () {
      this.maxaxios.get('/login/status').then((res) => {
        console.log(res)
      })
    }
  }
}
</script>

<style scoped>
.box {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  background-color: rgba(0, 0, 0, 0.2);
}
.box1 {
  width: 100%;
  height: 100%;
  position: relative;
}
.Qrbox {
  width: 350px;
  /* height: 280px; */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: rgb(255, 255, 255);
  border-radius: 5px;
}
.top {
  width: 100%;
  height: 40px;
  background-color: #2d2d2d;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
}
.top::after {
  content: "";
  clear: both;
  display: block;
}
.text1 {
  width: 60px;
  text-align: center;
  line-height: 40px;
  color: white;
  font-weight: bold;
  float: left;
}
.text2 {
  width: 60px;
  text-align: center;
  line-height: 40px;
  color: #888888;
  float: right;
  font-size: 25px;
  cursor: pointer;
}
.body {
  width: 180px;
  height: 180px;
  margin: auto;
  /* background-color: #5bae20; */
  margin-bottom: 30px;
  margin-top: 30px;
}
.bodyimg {
  width: 100%;
  height: 100%;
}
</style>
